Installare Django su Ubuntu Server 20.04

  1. Al solito scarichiamo la lista aggiornata dei pacchetti e delle nuove versioni disponibili nei repository. Questo comando si limita a recuperare informazioni, ma, in concreto, non installa nulla.
    sudo apt update
  2. Verifichiamo che abbiamo già python installato tramite il comando:
    python3 -V
  3. Installiamo i moduli pip e venv. venv è il virtual environment che ci consente di creare un’installazione Python isolata “virtuale” e installare i pacchetti in quell’installazione virtuale. Cosi possiamo avere molteplici ambienti virtuali senza causare cambiamenti al Sistema. Pip invece è un package-management system usato per installare e gestire i pacchetti software.

    sudo apt install python3-pip python3-venv
  4. Per poter avere l’ultima versione di Django è preferibile installarlo clonando il progetto dal repo github:
    git clone git://github.com/django/django ~/django-dev
  5. Spostiamoci nella cartella dove abbiamo appena fatto il clone dei files per poter creare un ambiente virtuale su cui installare Django con il modulo venv:
    cd ~/django-dev
    sudo apt install python3.8-venv
    python3 -m venv my_env

    venv crea una copia di python e di pip dentro una directory isolata assieme alla directory del progetto e alla directory che conterrà la gerarchia di tutti i package installati.

  6. Per installare altri packages al progetto, dobbiamo attivare l’environment:
    source my_env/bin/activate
  7. Installiamo Django nel virtual environment dai file scaricati:
    (my_env) pip install -e ~/django-dev

8. Proviamo se è tutto ok col comando:

 

(my_env) django-admin --version
(my_env) deactivate

 

django-admin --version

 

Facciamo un esempio di progetto

mkdir -pv ~/django-test
cd ~/django-test
git clone git://github.com/django/django ~/django-test/django_clone
python3 -m venv my_env
(my_env) source my_env/bin/activate
(my_env) pip install -e ~/django-test/django_clone_github
(my_env) django-admin startproject myproject .

Il prossimo passo è quello di applicare le migration (Django utilizza Sqlite). Note: se vogliamo cambiare motore di database bisogna cambiare le impostazioni sul file settings.py.

python manage.py migrate

Consentiamo gli host di poter vedere le pagine:

 

nano ~/django-test/myproject/settings.py

in ALLOWED_HOST aggiungiamo separati da virgola gli host che possono connettersi:

 

 

 

Aggiungiamo la policy nel firewall per poter accedere tramite la porta 8000

 

sudo ufw allow 8000

Facciamo partire il server

 

python3 manage.py runserver 0.0.0.0:8000

 

 

 

Precedente Installare Mysql su Ubuntu 20.04 Successivo Installare NGINX e PHP su Ubuntu 20.04